In driving control of a stepping motor, the driving efficiency is highest when a zero-cross phase of a driving current of the motor matches with a zero-cross phase of a voltage induced by rotation of a rotor. However when the driving efficiency is increased too high, step-out may occur in a low load condition because of fluctuations of the rotation of the motor. Accordingly in high efficiency driving, it is necessary to supply more current than a required minimum current in order to stabilize rotation of a motor.
Thus, an amount of driving current of a motor is conventionally controlled based on a result of comparing a voltage induced in a coil of a motor during a time period when both ends of the coil of the motor are in a high impedance state and an offset voltage, by using a comparator.
In this case, when the voltage induced in the coil of the motor is larger than the offset voltage, the driving current of the motor is controlled to be reduced. Since an initial value of the driving current of the motor is set to a maximum current, the driving current is gradually decreased in a low load condition according to the control mentioned above. On the other hand, when the load varies to become large, the induced voltage of the coil of the motor becomes smaller than the offset voltage. In this case, boost processing is carried out to increase the driving current rapidly.
However, when fluctuations of rotation of the rotor occur, the voltage induced in the coil of the motor becomes smaller than the offset voltage even though the load is low. As a result, it causes a problem that unnecessary boost processing is carried out.